package Triangulation.minimalityMetrics;

import datatypes.Edge;
import datatypes.IndexedFaceSet;
import datatypes.Triangle;

public interface MinimalityMetric {
	
	/**
	 * Retrieves the weight of a triangle, only used for polygon triangulation (LMT uses the methods below).
	 * @return The triangle weight.
	 */
	public double getTriangleWeight(Triangle t);
	
	/**
	 * @param edge
	 * @param set
	 * @return
	 */
	public boolean localMinimumExistsForEdge(Edge edge, IndexedFaceSet set);
	public boolean edgeIsLocallyMinimal(Edge sharedEdge, Triangle t1, Triangle t2);
	public String getName();
}
